package com.quanyan.financialSystem.entity.vo.resp;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by Zj on 2016/10/17.
 * 场地收入流水
 */
public class RespPlaceInComeStream implements Serializable{

    private static final long serialVersionUID = -840475537267899797L;

    /**
     * 城市名字
     */
    private String cityName;

    /**
     * 场馆名称
     */
    private String  placeName;

    /**
     * 场馆id
     */
    private Integer placeId;

    /**
     * 场馆编号
     */
    private String  placeCode;

    /**
     * 运动类型id
     */
    private Integer categoryId;


    /**
     * 运动类型名字
     */
    private String categoryName;

    /**
     * 买入类型 购买类型--1:整馆买入，2：包片买入，3：时段买入
     */
    private String buyType= "";

    /**
     * 场馆订单号
     */
    private String placeOrderId;

    /**
     * //todo 交易流水号
     */

    /**
     * 订单状态 1：待付款 2：已关闭 3：已付款 4：退款中 5：已退款 6：已完成
     */
    private String orderStatus;

    /**
     * 支付日期
     */
    private Date paymentTime;


    /**
     * uid
     */
    private Integer uid;

    /**
     * 客户名称
     */
    private String customerName;


    /**
     * 手机号
     */
    private String mobile;


    /**
     * 支付类型  0：现场支付 1：支付宝支付 2：微信支付  3：微信公众号支付 4：银联支付 5：apple pay 6：免费 7：鸟蛋  8：蛋壳 9：其他抵扣 10 ：会员卡支付 11 场馆老板结算、12与其他订场公司结算部分
     */
    private String payType = "";


    /**
     * 收入类型 0：开单 1：包场 2：门票 3：app开单 4：多种经营
     */
    private Integer userType;

    /***
     * 场馆负责人
     */
    private String placeContact;


    /**
     * 销售渠道 订单平台  1:IOS 2: ANDROID 3 :WEIXIN 4 :H5 5:后台
     */
    private Integer platform;


    /**
     * 订单类型 1：收入 2：支出 3：取消
     */
    private Integer amountType;

    /**
     * 鸟蛋优惠金额
     */
    private BigDecimal birdEggAmount = new BigDecimal(0);

    /**
     * 会员优惠金额
     */
    private BigDecimal preferentialAmount;

    /**
     * 会员卡消费金额
     */
    private BigDecimal memberAmount = new BigDecimal(0);


    /**
     *  应付
     */
    private BigDecimal debit;

    /**
     * 支出
     */
    private BigDecimal credit;


    /***
     * 优惠方式
     */
    private String preferentialType="";


    /**
     * 实际支付
     */
    private BigDecimal  actualPayAmount;



    /**
     * 销售人
     */
    private Integer createUserName;
    /**
     * 消费日期
     */
    private String consumeTime;


    private BigDecimal cardAmount = new BigDecimal(0);

    private int cardNumber;

    private Integer cardType;


    /*
    次数
     */
    private Integer opCardCount;

    private String orderNo;


    /**
     * 三种支付方式的金额 ，，场馆，内部结算
     */
    private BigDecimal threeAmount = new BigDecimal(0);

    /**
     * 优惠券支付
     */
    private BigDecimal couponAmount = new BigDecimal(0);

    /**
     * 会员卡支付
     */
    private Integer memberPayType = 0;


    /**
     * 手动减价
     */
    private BigDecimal handAdjustAmount;

    /**
     * 总的优惠金额
     */
    private BigDecimal favourableAmount;

    private String reconciliationDate;


    /**
     * 最原始 的金额
     */
    private BigDecimal originalAmount;


    public String getConsumeTime() {
        return consumeTime;
    }

    public void setConsumeTime(String consumeTime) {
        this.consumeTime = consumeTime;
    }

    public BigDecimal getOriginalAmount() {
        return originalAmount;
    }

    public void setOriginalAmount(BigDecimal originalAmount) {
        this.originalAmount = originalAmount;
    }

    public String getReconciliationDate() {
        return reconciliationDate;
    }

    public void setReconciliationDate(String reconciliationDate) {
        this.reconciliationDate = reconciliationDate;
    }

    public BigDecimal getFavourableAmount() {
        if (favourableAmount == null)
            favourableAmount = new BigDecimal(0);
        return favourableAmount;
    }

    public void setFavourableAmount(BigDecimal favourableAmount) {
        this.favourableAmount = favourableAmount;
    }

    public BigDecimal getHandAdjustAmount() {
        if (handAdjustAmount == null)
            handAdjustAmount = new BigDecimal(0);
        return handAdjustAmount;
    }

    public void setHandAdjustAmount(BigDecimal handAdjustAmount) {
        this.handAdjustAmount = handAdjustAmount;
    }

    public Integer getMemberPayType() {
        return memberPayType;
    }

    public void setMemberPayType(Integer memberPayType) {
        this.memberPayType = memberPayType;
    }

    public BigDecimal getThreeAmount() {
        return threeAmount;
    }

    public void setThreeAmount(BigDecimal threeAmount) {
        this.threeAmount = threeAmount;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getPlaceName() {
        return placeName;
    }

    public void setPlaceName(String placeName) {
        this.placeName = placeName;
    }

    public String getPlaceCode() {
        return placeCode;
    }

    public void setPlaceCode(String placeCode) {
        this.placeCode = placeCode;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }


    public String getBuyType() {
        return buyType;
    }

    public void setBuyType(String buyType) {
        this.buyType = buyType;
    }

    public String getPlaceOrderId() {
        return placeOrderId;
    }

    public void setPlaceOrderId(String placeOrderId) {
        this.placeOrderId = placeOrderId;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public String getPlaceContact() {
        return placeContact;
    }

    public void setPlaceContact(String placeContact) {
        this.placeContact = placeContact;
    }

    public Integer getPlatform() {
        return platform;
    }

    public void setPlatform(Integer platform) {
        this.platform = platform;
    }

    public Integer getPlaceId() {
        return placeId;
    }

    public void setPlaceId(Integer placeId) {
        this.placeId = placeId;
    }


    public Integer getAmountType() {
        return amountType;
    }

    public void setAmountType(Integer amountType) {
        this.amountType = amountType;
    }

    public BigDecimal getBirdEggAmount() {
        return birdEggAmount;
    }

    public void setBirdEggAmount(BigDecimal birdEggAmount) {
        this.birdEggAmount = birdEggAmount;
    }

    public BigDecimal getPreferentialAmount() {

        if(preferentialAmount == null)
            preferentialAmount = new BigDecimal(0);
        return preferentialAmount;
    }

    public void setPreferentialAmount(BigDecimal preferentialAmount) {
        if(preferentialAmount == null)
            preferentialAmount = new BigDecimal(0);
        this.preferentialAmount = preferentialAmount;
    }

    public BigDecimal getMemberAmount() {
        if(memberAmount == null)
            memberAmount = new BigDecimal(0);
        return memberAmount;
    }

    public void setMemberAmount(BigDecimal memberAmount) {
        this.memberAmount = memberAmount;
    }

    public BigDecimal getDebit() {
        return debit;
    }

    public void setDebit(BigDecimal debit) {
        this.debit = debit;
    }

    public BigDecimal getCredit() {
        return credit;
    }

    public void setCredit(BigDecimal credit) {
        this.credit = credit;
    }


    public String getPreferentialType() {
        return preferentialType;
    }

    public void setPreferentialType(String preferentialType) {
        this.preferentialType = preferentialType;
    }


    public BigDecimal getActualPayAmount() {
        if (actualPayAmount == null)
            actualPayAmount = new BigDecimal(0);
        return actualPayAmount;
    }

    public void setActualPayAmount(BigDecimal actualPayAmount) {
        this.actualPayAmount = actualPayAmount;
    }


    public Integer getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(Integer createUserName) {
        this.createUserName = createUserName;
    }


    public BigDecimal getCardAmount() {
        return cardAmount;
    }

    public void setCardAmount(BigDecimal cardAmount) {
        this.cardAmount = cardAmount;
    }

    public int getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(int cardNumber) {
        this.cardNumber = cardNumber;
    }

    public Integer getCardType() {
        return cardType;
    }

    public void setCardType(Integer cardType) {
        this.cardType = cardType;
    }

    public Integer getOpCardCount() {
        return opCardCount;
    }

    public void setOpCardCount(Integer opCardCount) {
        this.opCardCount = opCardCount;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public BigDecimal getCouponAmount() {
        return couponAmount;
    }

    public void setCouponAmount(BigDecimal couponAmount) {
        this.couponAmount = couponAmount;
    }

    @Override
    public String toString() {
        return "RespPlaceInComeStream{" +
                "cityName='" + cityName + '\'' +
                ", placeName='" + placeName + '\'' +
                ", placeId=" + placeId +
                ", placeCode='" + placeCode + '\'' +
                ", categoryId=" + categoryId +
                ", categoryName='" + categoryName + '\'' +
                ", buyType='" + buyType + '\'' +
                ", placeOrderId='" + placeOrderId + '\'' +
                ", orderStatus='" + orderStatus + '\'' +
                ", paymentTime=" + paymentTime +
                ", uid=" + uid +
                ", customerName='" + customerName + '\'' +
                ", mobile='" + mobile + '\'' +
                ", payType=" + payType +
                ", userType=" + userType +
                ", placeContact='" + placeContact + '\'' +
                ", platform=" + platform +
                ", amountType=" + amountType +
                ", birdEggAmount=" + birdEggAmount +
                ", preferentialAmount=" + preferentialAmount +
                ", memberAmount=" + memberAmount +
                ", debit=" + debit +
                ", credit=" + credit +
                '}';
    }
}
